fix(dashboard): #36 Eval-Dashboard Follow-ups (Live-Pfad-UX + foss-Trennung)#59
Merged
Conversation
…y-Dimmen Live-Pfad ist internal/dashboard/eval_dashboard.html (SPA via /data.json), NICHT der deprecatete Legacy-Pfad eval_dashboard.py:_build_html. P4 — KPI-Delta neueste-vs-Vorversion mit N-Guard (statt neueste-vs-erste): - version_delta(kpi_trend, metric) pure Funktion (TDD), reliable nur wenn beide Versionen n>=20 (Apophenie-Schutz) - Server: kpi_trend["deltas"] pro KPI; Template-JS nutzt es, ohne reliable kein Besser/Schlechter-Farbcode (neutral + "(n<20)") P2 — Scaling-Chart (ch3) dimmt alte Versions-Aeren: - mark_scaling_recency(points, keep=10) pure Funktion (TDD), recent-Flag - _chart_scaling haengt es an; ch3-JS dimmt recent===false (fail-open) P1 (#36 Punkt 1, Median-Linie) war im Live-Pfad bereits durch PR #38 erledigt — der frueher vermutete Regressionsverdacht war ein Blick auf den Legacy-Pfad. Codex-Review: 0 HIGH/MED, 1 LOW (cost-Delta-Anzeige toFixed(1), vorbestehend). Suite 4608 passed. Server-/data.json-End-to-End + JS-Syntax verifiziert. Bekannter offener Punkt: visuelle Firefox-Augenschein-Pruefung.
…l, Token-pro-Version Sechs aus dem Firefox-Augenschein gemeldete Punkte im Live-Render-Pfad internal/dashboard/eval_dashboard.html + build_data: A) Versions-Dropdown: neueste Version oben (reverse), foss-frei. B) Eval-Version-Filter komplett entfernt (UI + URL-State + Sidebar-Pill); Server nutzt default = neueste eval_version. C) KPI-Sparkline-X-Achse: nur erste+letzte Version statt ~50 ueberlappende Labels. D) foss/generative-Trennung: is_foss_version() (TDD); im ungefilterten Default-View foss aus all_log_runs + quality_rows + token_runs ausgeschlossen, Dropdown immer foss-frei. Ueber Modell-/Versions-Filter bleibt foss sichtbar. E) Sparkline-Y-Achse bei %-Metriken auf 100 gedeckelt (keine 120%-Achse mehr). F) Token/Duration-Charts pro Pipeline-Version aggregiert (Summe/Median) statt chronologisch pro Run — _chart_tokens_by_version (TDD), foss-frei. Cross-Model-Review (Codex + Qwen): 0 HIGH/MED nach Fixes. Codex MED gefixt (eval_version-URL-State, token_runs-foss-Ausschluss, foss--Praefix); Qwen LOW gefixt (versions[n-1]-Guard, duration_min is not None). Suite 4613 passed, +5 Tests (16 in test_dashboard_followups.py).
…l-Delta neutral Codex-Cross-Review auf #59: - ins-cost-Insight zeigte "N Runs ... Median-Laufzeit pro Run", aber d.tokens ist seit _chart_tokens_by_version pro VERSION aggregiert → Label auf Versionen/pro Version korrigiert (Z1751-58). Sonst still falsche Stat-Karte. - Null-Delta (0.0) bekam pos/neg-Farbklasse → jetzt neutral (Z1138). Reine Client-JS (kein JS-Test-Harness im Repo) — durch Code-Lesung verifiziert. Offen (braucht Konventions-Input): is_foss_version matcht nur "foss-", Server-Z73 nutzt "extractive-" → foss-Trennung evtl. wirkungslos; + foss-Drop im Token-Chart bei explizitem Filter. Beide an die Prefix-Konvention gekoppelt, separat zu klaeren.
…Trennung war No-op Cross-Model-Review (Codex) HIGH: die nicht-generative Pipeline taggt Runs mit "extractive-" (extractive/orchestrator.py: EXTRACTIVE_VERSION="extractive-v0.2.0"), aber is_foss_version prüfte nur "foss-" (taggt nirgends real) → die ganze #36-foss- Trennung filterte NICHTS (No-op). Fix: startswith(("extractive-","foss-")). +Test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Eval-Dashboard-Follow-ups (#36) — umgesetzt im Live-Render-Pfad
internal/dashboard/eval_dashboard.html(SPA via/data.json=build_data) +eval_dashboard_server.py.Zentraler Befund: Live- vs. Legacy-Pfad
eval_dashboard.py:_build_html(main()) ist ein deprecateter Standalone-Pfad und wird vom Server nicht ausgeliefert. Frühere Issue-Notizen lokalisierten Render-Stellen dort — die Live-SPA ist aberinternal/dashboard/eval_dashboard.html. #36 Punkt 1 (Median-Linie) war im Live-Pfad bereits durch PR #38 erledigt — der vermutete Regressionsverdacht war ein Blick auf den falschen Pfad.Commit 1 (
aff21f2) — P1/P2/P4mark_scaling_recency, TDD).version_delta, TDD; reliable nur wenn beide Versionen n≥20).Commit 2 (
4d9a402) — A–F (Firefox-Augenschein)is_foss_version, TDD): im ungefilterten Default-View foss ausall_log_runs+quality_rows+token_runsraus; über Modell-/Versions-Filter weiter sichtbar._chart_tokens_by_version, TDD) statt chronologisch pro Run.Qualität
test_dashboard_followups.py; kanonische Suite 4613 passed.foss--Präfix); Qwen-LOW gefixt (versions[n-1]-Guard,duration_min is not None).cost-Delta-AnzeigetoFixed(1)zu grob —cost-KPI bei Subscription i.d.R. leer.